{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Script to identify which MERRA-2 grid cells are within the Alpine-3D bounding box. The output of the script should look like this. \n",
    "```\n",
    "[INPUT]\n",
    "VSTATION1 = latlon -65.5 -60.625 0\n",
    "VSTATION2 = latlon -71 70 0\n",
    "```\n",
    "\n",
    "# This script also determines the closest MERRA-2 grid cell to each Alpine-3D grid cell and therefore determines at which MERRA-2 grid cells we need to spinup snow properties."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Import python packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import xarray as xr\n",
    "import numpy as np\n",
    "from osgeo import osr\n",
    "from pyproj import Geod\n",
    "import geopandas as gpd\n",
    "import cartopy.crs as ccrs\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Define Alpine-3D coordinate corners (see SNOWPACK_WAIS/setup/input_surface_grids/create_input_surface_grids.sh)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/projects/erke2265/miniconda/envs/alpine3d/lib/python3.6/site-packages/pyproj/crs/crs.py:53: FutureWarning: '+init=<authority>:<code>' syntax is deprecated. '<authority>:<code>' is the preferred initialization method. When making the change, be mindful of axis order changes: https://pyproj4.github.io/pyproj/stable/gotchas.html#axis-order-changes-in-proj-6\n",
      "  return _prepare_from_string(\" \".join(pjargs))\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2afab308ccc0>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ncol = 168\n",
    "nrow = 107\n",
    "\n",
    "# How far to extend the MERRA-2 domain beyond the Alpine-3D domain. \n",
    "bump = 1000 * 50 # m\n",
    "\n",
    "# Define upper left and lower right domain corners in epsg 3031\n",
    "left = -1542000 # done\n",
    "bottom = -109000 # done\n",
    "\n",
    "top = bottom + 1000 * (nrow -1)\n",
    "right = left + 1000 * (ncol -1)\n",
    "\n",
    "\n",
    "# Plot corners on map\n",
    "# Coastline Data\n",
    "df = gpd.read_file(\"/pl/active/nasa_smb/Data/ADD_Coastline_low_res_polygon.shp\")\n",
    "crs_epsg = ccrs.SouthPolarStereo()\n",
    "df_epsg = df.to_crs(epsg='3031')\n",
    "\n",
    "# Map\n",
    "# Generate figure \n",
    "fig, axs = plt.subplots(1, 1, subplot_kw={'projection': crs_epsg},\n",
    "                        figsize=(5, 5))\n",
    "\n",
    "# Plot coastlines\n",
    "axs.set_extent((-180, 180, -90, -65), ccrs.PlateCarree())\n",
    "axs.add_geometries(df_epsg['geometry'], crs=crs_epsg,\n",
    "                      facecolor='none', edgecolor='black')\n",
    "\n",
    "# Plot model domain\n",
    "plt.scatter(left, bottom, c='r')\n",
    "plt.scatter(left, top, c='r')\n",
    "plt.scatter(right, bottom, c='r')\n",
    "plt.scatter(right, top, c='r')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load MERRA-2 lat/lon"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Load lat, lon\n",
    "ds = xr.open_dataset(\"/scratch/summit/erke2265/MERRA2/T2M_hourly_1980.nc\")\n",
    "grid_lat = ds['lat'].values\n",
    "grid_lon = ds['lon'].values\n",
    "\n",
    "# Create lat/lon arrays and reshape into vectors. To undo flatten, np.reshape(grid_lon, [len(ds['lat']), len(ds['lon'])])\n",
    "grid_lon, grid_lat = np.meshgrid(grid_lon, grid_lat)\n",
    "grid_lon = grid_lon.flatten()\n",
    "grid_lat = grid_lat.flatten()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Convert MERRA-2 lat/lon to epsg 3031"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Source and target EPSG\n",
    "src = osr.SpatialReference()\n",
    "tgt = osr.SpatialReference()\n",
    "src.ImportFromEPSG(4326) # WGS-84\n",
    "tgt.ImportFromEPSG(3031) # South Polar Stereo\n",
    "\n",
    "# Define transformation\n",
    "transform = osr.CoordinateTransformation(src, tgt)\n",
    "\n",
    "# Initialize arrays\n",
    "grid_X = np.zeros(len(grid_lon)); grid_X[:] = np.nan\n",
    "grid_Y = np.zeros(len(grid_lat)); grid_Y[:] = np.nan\n",
    "\n",
    "# Perform coordinate transformation\n",
    "for j in range(0, len(grid_X)):\n",
    "    coords = transform.TransformPoint(grid_lat[j], grid_lon[j])\n",
    "    grid_X[j], grid_Y[j] = coords[0:2]\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Determine which MERRA-2 grid cell are within the Alpine3D domain"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_domain(gridX, gridY, left, right, bottom, top, bump):\n",
    "    right = right + bump\n",
    "    left = left - bump\n",
    "    bottom = bottom - bump\n",
    "    top = top + bump\n",
    "    \n",
    "    filter_func = np.vectorize(lambda gridX, gridY: gridX <= right and gridX >= left and gridY >= bottom and gridY <= top)\n",
    "    \n",
    "    gridX_filter = gridX[filter_func(gridX, gridY)]\n",
    "    gridY_filter = gridY[filter_func(gridX, gridY)]\n",
    "    \n",
    "    return gridX_filter, gridY_filter\n",
    "\n",
    "# Call filter function\n",
    "gridX_filter, gridY_filter = get_domain(grid_X, grid_Y, left, right, bottom, top, bump)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Convert MERRA-2 coordinates back into regular lat/lon"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Source and target EPSG\n",
    "src = osr.SpatialReference()\n",
    "tgt = osr.SpatialReference()\n",
    "src.ImportFromEPSG(3031) # WGS-84\n",
    "tgt.ImportFromEPSG(4326) # South Polar Stereo\n",
    "\n",
    "# Define transformation\n",
    "transform = osr.CoordinateTransformation(src, tgt)\n",
    "\n",
    "# Initialize arrays\n",
    "filter_X_wgs84 = np.zeros(len(gridX_filter)); filter_X_wgs84[:] = np.nan\n",
    "filter_Y_wgs84 = np.zeros(len(gridY_filter)); filter_Y_wgs84[:] = np.nan\n",
    "\n",
    "# Perform coordinate transformation\n",
    "for j in range(0, len(filter_X_wgs84)):\n",
    "    coords = transform.TransformPoint(gridX_filter[j], gridY_filter[j])\n",
    "    filter_X_wgs84[j], filter_Y_wgs84[j] = coords[0:2]\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Write station_list.lst"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[INPUT]\n",
      "VSTATION1 = latlon -77.5 -96.25 0\n",
      "VSTATION2 = latlon -77.5 -95.625 0\n",
      "VSTATION3 = latlon -77.5 -95.0 0\n",
      "VSTATION4 = latlon -77.5 -94.375 0\n",
      "VSTATION5 = latlon -77.5 -93.75 0\n",
      "VSTATION6 = latlon -77.5 -93.125 0\n",
      "VSTATION7 = latlon -77.5 -92.5 0\n",
      "VSTATION8 = latlon -77.5 -91.875 0\n",
      "VSTATION9 = latlon -77.5 -91.25 0\n",
      "VSTATION10 = latlon -77.5 -90.625 0\n",
      "VSTATION11 = latlon -77.5 -90.0 0\n",
      "VSTATION12 = latlon -77.5 -89.375 0\n",
      "VSTATION13 = latlon -77.5 -88.75 0\n",
      "VSTATION14 = latlon -77.5 -88.125 0\n",
      "VSTATION15 = latlon -77.0 -96.25 0\n",
      "VSTATION16 = latlon -77.0 -95.625 0\n",
      "VSTATION17 = latlon -77.0 -95.0 0\n",
      "VSTATION18 = latlon -77.0 -94.375 0\n",
      "VSTATION19 = latlon -77.0 -93.75 0\n",
      "VSTATION20 = latlon -77.0 -93.125 0\n",
      "VSTATION21 = latlon -77.0 -92.5 0\n",
      "VSTATION22 = latlon -77.0 -91.875 0\n",
      "VSTATION23 = latlon -77.0 -91.25 0\n",
      "VSTATION24 = latlon -77.0 -90.625 0\n",
      "VSTATION25 = latlon -77.0 -90.0 0\n",
      "VSTATION26 = latlon -77.0 -89.375 0\n",
      "VSTATION27 = latlon -77.0 -88.75 0\n",
      "VSTATION28 = latlon -77.0 -88.125 0\n",
      "VSTATION29 = latlon -76.5 -95.625 0\n",
      "VSTATION30 = latlon -76.5 -95.0 0\n",
      "VSTATION31 = latlon -76.5 -94.375 0\n",
      "VSTATION32 = latlon -76.5 -93.75 0\n",
      "VSTATION33 = latlon -76.5 -93.125 0\n",
      "VSTATION34 = latlon -76.5 -92.5 0\n",
      "VSTATION35 = latlon -76.5 -91.875 0\n",
      "VSTATION36 = latlon -76.5 -91.25 0\n",
      "VSTATION37 = latlon -76.5 -90.625 0\n",
      "VSTATION38 = latlon -76.5 -90.0 0\n",
      "VSTATION39 = latlon -76.5 -89.375 0\n",
      "VSTATION40 = latlon -76.5 -88.75 0\n",
      "VSTATION41 = latlon -76.0 -95.625 0\n",
      "VSTATION42 = latlon -76.0 -95.0 0\n",
      "VSTATION43 = latlon -76.0 -94.375 0\n",
      "VSTATION44 = latlon -76.0 -93.75 0\n",
      "VSTATION45 = latlon -76.0 -93.125 0\n",
      "VSTATION46 = latlon -76.0 -92.5 0\n",
      "VSTATION47 = latlon -76.0 -91.875 0\n",
      "VSTATION48 = latlon -76.0 -91.25 0\n",
      "VSTATION49 = latlon -76.0 -90.625 0\n",
      "VSTATION50 = latlon -76.0 -90.0 0\n",
      "VSTATION51 = latlon -76.0 -89.375 0\n",
      "VSTATION52 = latlon -76.0 -88.75 0\n",
      "VSTATION53 = latlon -75.5 -95.625 0\n",
      "VSTATION54 = latlon -75.5 -95.0 0\n",
      "VSTATION55 = latlon -75.5 -94.375 0\n",
      "VSTATION56 = latlon -75.5 -93.75 0\n",
      "VSTATION57 = latlon -75.5 -93.125 0\n",
      "VSTATION58 = latlon -75.5 -92.5 0\n",
      "VSTATION59 = latlon -75.5 -91.875 0\n",
      "VSTATION60 = latlon -75.5 -91.25 0\n",
      "VSTATION61 = latlon -75.5 -90.625 0\n",
      "VSTATION62 = latlon -75.5 -90.0 0\n",
      "VSTATION63 = latlon -75.5 -89.375 0\n",
      "VSTATION64 = latlon -75.5 -88.75 0\n"
     ]
    }
   ],
   "source": [
    "f = open(\"station_list.lst\",'w')\n",
    "f.write(\"[INPUT]\\n\")\n",
    "\n",
    "for j in range(0, len(filter_X_wgs84)):\n",
    "    index = str(j + 1)\n",
    "    lat = str(round(filter_X_wgs84[j], 3))\n",
    "    lon = str(round(filter_Y_wgs84[j], 3))\n",
    "    \n",
    "    f.write(\"VSTATION\" + index + \" = latlon \" + lat + \" \" + lon + \" 0\\n\")\n",
    "    \n",
    "f.close()\n",
    "\n",
    "!cat station_list.lst\n",
    "!cp station_list.lst ../../snowpack/Scripts/create_smet_from_netcdf"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plot Alpine3D domain and MERRA-2 grid cells"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2afab34e4fd0>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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IF9fX5o+fTo1btyYFi5cSJs2baLU1FRycXGhyMhI6t+/f4m5Nn5+fpSTk0MDBw4kmUxWXW9XI23btiUzMzM6duyY0KEw/9K+fXu6fPky2dvbCx0KU4uxIa06ZPny5XTx4kXasmWL0KEwWpacnExubm70zTff0MiRIys8f+TIkbR582bieV41BCUWi8nNzY0eP35MHTp0IGNjYzp58iTdu3ePAJCpqSm99957tHDhwhozPFUZgwYNop07d9KdO3fIyclJ6HCY/7C0tKS+ffuyoXamStgqLYaI3qxK6dSpk8bXK5VKOn78OHXq1ImNs9cw7777LpmYmNDw4cMrPHfXrl303Xff0ZIlS2jKlCkV/ltmZ2fT7du39XoF07p162jr1q20f/9+luzUUEqlUi8TaUZ/sISnDklKSiILC4sSxwFQamoqJSQk0J07d+jBgweUmppKz549o8LCQmrSpAmdOnWKLl++TK9fv2Z1SmqgdevWUUBAAI0ePZq+/fbbYq/FxcXR/PnzycPDgwoKCmjXrl3Uv39/+uijj9Rq29jYWK+TnYsXL9LYsWNp7ty5ag31Mbq3efNmysnJoXPnzgkdClOLsSGtOuSnn36iTz/9lFasWEEtW7Yka2trSkpKoi5dutCLFy+oadOm5OHhQc7OzlSvXj2ysbGhgoICGjNmDDk5OVGzZs1o+/bt5O3tTX/99ZfQb4f5j19//ZV69OhBHh4elJubS69evaJXr15Rfn4+tWjRgq5evUoymYzWr19PkZGRQoerE9nZ2eTg4EB+fn505MgRocNhyuDi4kL379+nmTNnUlRUlNDhMHqMLUtniOhNT866deto27Zt9M8//5BUKqWcnBxasmQJjRs3rswChN27d6cnT57QX3/9Re+//z5t376dDWnVUGvWrKHz58+Tqakp2dnZkZOTE/Xu3btal6bXZH379qXDhw/TkydPSCxmHdo11cOHD6l169b09OlTmjZtGi1cuJB9xzAaYQkPU0LRMJaVlRUZGBiUeZ5SqaS33nqLHj9+TJs2baozPQOM/nv27BnZ2dnR999/T4MGDRI6HEYNixYtovnz5xPP8zRgwACKjo4mS0tLocNi9AhLeJhKu3//Ph08eJDi4uIoLS2Nfv/993ITI4apaaZNm0YbN26k58+fCx0KUwmFhYX0+eef06pVq+j58+ckk8moW7du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\n",
      "text/plain": [
       "<Figure size 720x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Map\n",
    "# Generate figure \n",
    "fig, axs = plt.subplots(1, 1, subplot_kw={'projection': crs_epsg},\n",
    "                        figsize=(10, 10))\n",
    "\n",
    "# Plot coastlines\n",
    "# axs.set_extent((-180, 180, -90, -65), ccrs.PlateCarree())\n",
    "axs.set_extent((-110, -70, -85, -70), ccrs.PlateCarree()) # Zoom in on Alpine-3D domain\n",
    "axs.add_geometries(df_epsg['geometry'], crs=crs_epsg,\n",
    "                      facecolor='none', edgecolor='black')\n",
    "\n",
    "# Plot model domain\n",
    "plt.scatter(left, bottom, c='r', label=\"A3D Domain\")\n",
    "plt.scatter(left, top, c='r')\n",
    "plt.scatter(right, bottom, c='r')\n",
    "plt.scatter(right, top, c='r')\n",
    "\n",
    "# Plot model domain dbumped\n",
    "plt.scatter(left - bump, bottom - bump, c='b', label=\"A3D Domain Bump\")\n",
    "plt.scatter(left - bump, top + bump, c='b')\n",
    "plt.scatter(right + bump, bottom - bump, c='b')\n",
    "plt.scatter(right + bump, top + bump, c='b')\n",
    "\n",
    "# Plot MERRA-2 grid cells\n",
    "plt.scatter(filter_Y_wgs84, filter_X_wgs84, transform=ccrs.Geodetic(), c='k', label=\"MERRA-2\")\n",
    "\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Write a .lus file"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "32"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWMAAADrCAYAAAC8VvfgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAVUElEQVR4nO3df4xlZ13H8fdnp9sW+oN22bZZ2sWtZhWRQIsTBBtJcQELkm41aVMQXLVmJQEtSiItmqBGTeMP1D8UXaGySvmxAk0bA23XlUpIpHS3VOiyxda2LqVr1y2tW2i7uzPz8Y97xtxu586cO/fHeeaezys5ufc899xzv3Pu5DvPPOf5IdtERESzVjUdQEREJBlHRBQhyTgiogBJxhERBUgyjogoQJJxREQBTmg6gIiIlU7SQ8CTwCwwY3ta0hrgU8AG4CHgCtuP9zpHasYREcPxOtsX2J6u9q8BdtneCOyq9ntKMo6IGI3NwPbq+XbgssUOVkbgRUTb/NTrTvFj35mtdeyerx3ZCzzTVbTN9rbuYyQ9CDwOGPgb29skPWH7jK5jHrd9Zq/PSZtxRLTOY9+Z5Su3vrjWsVPr7numq+mhl4tsPyLpbGCnpHv7jSnJOCJax8Acc8M7n/1I9XhQ0o3Aq4BHJa2zfUDSOuDgYudIm3FEtI4xxzxba1uKpFMknTb/HHgjcA9wM7ClOmwLcNNi50nNOCJaaYg143OAGyVBJ6d+3PYtku4Edki6CtgPXL7YSZKMI6J1jJkdUucF2w8Ar1ig/DFgU93zJBlHRCvNUVZPsiTjiGgdA7NJxhERzUvNOCKiYQaOFTbgLck4IlrHOM0UERGNM8yWlYuTjCOifToj8MqSZBwRLSRmUdNBPEuScUS0TucGXpJxRESjOv2Mk4wjIho3l5pxRESzUjOOiCiAEbOFzSCcZBwRrZRmioiIhhlx1FNNh/EsI6unS7pE0jcl3S9p0SWqIyLGqTPoY1WtbVxGUjOWNAX8JfAG4GHgTkk32/7GKD4vIqJfbbmB9yrg/moGfCR9EtgMJBlHRONsMet23MA7F/hW1/7DwI/1OnjtmilvWL96RKGsLA8cPa3pECbaU4dPbjqEiXXiE0sv3jkMTz514JDtswY9z1xLasYL/ZTPmiNJ0lZgK8CLzz2Br9y6fkShrCxve/B1TYcw0fZ84SVNhzCxzr/x8Fg+Z+fu3/2vQc/RuYFXVv+FUdXTHwa6s+t5wCPdB9jeZnva9vRZLyzrrmZETLbW3MAD7gQ2Sjof+DZwJfC2EX1WRETfZtvQz9j2jKR3A7cCU8D1tveO4rMiIvrVqhF4tj8HfG5U54+IGMRcS3pTREQUqzNRUJJxtNB3Z05qOgQAVh0rq51wkujIeLq2DYMRxwobDp1kHBGtY9OaQR99mWWO784903QYRSilBhkx2dSaQR8REcUyqRlHRBQhN/AiIhpmlMnlIyKaZuBYYXNTlBVNRMRYqDXzGUdEFMtkBF5ERBFSM46IaJit1IwjIprWuYGX4dAREQ0rbw28sqKJiBiDzg081drqkDQl6auS/qnaXyNpp6T7qsczlzpHknFEtNIsq2ptNV0N7OvavwbYZXsjsKvaX1SScUS0zvwIvGHUjCWdB/w08OGu4s3A9ur5duCypc6TNuOIaKUhLjb658BvAqd1lZ1j+wCA7QOSzl7qJEnGEdE6Nhybq52M10ra3bW/zfY2AElvAQ7a3iPp4kFiSjKOiNbpNFPUTsaHbE/3eO0i4FJJbwZOBk6X9DHgUUnrqlrxOuDgUh+SNuOIaKXZan6KpbbF2L7W9nm2NwBXAv9i++3AzcCW6rAtwE1LxZOacUS0znzXthG6Dtgh6SpgP3D5Um9IMo6IFhr+cGjbtwO3V88fAzb18/5lRyNpvaQvSNonaa+kq6vyvjs7R0SM21y1Dt5S27gM8qdhBniv7R8GXg28S9JLWUZn54iIcer0ppiqtY3Lspspqj508/3onpS0DziXTmfni6vDttOptr9voCgjYihWHR3duXVkhCcfsolddknSBuBC4A5qdnaWtBXYCrD+3LJmT4qIyTfOJog6Bk7Gkk4FPgO8x/Zhqd4PWHWa3gZw4StO9KBxRNmenlnddAjAaGuGsXKMoTdF3wZKxpJW00nEN9j+bFXcd2fnUXtibqbpEGorJWlFTLrSJpcfpDeFgI8A+2x/sOulvjs7R0SMky1mvKrWNi6D1IwvAt4BfF3S3VXZ+1lGZ+dZe0XVXiNi5ZuYZgrbX4KeLeB9dXaOiBiniWszjohYqZKMIyIaNrH9jCMiVpqJ62ccEbHS2DBTf3L5sUgyjohWSjNFRETD0mYcEVEIJxlHRDQvN/AiIhpmp804IqIAYja9KSIimpc244iIhmVuioiIErjTblySJOOIaKX0poiIaJhzAy8iogxppoiIKEB6U0TERFh13EppOnqsmUCWwU4yjogoQrq2RUy442uMUaa0GUcrPXVsddMhAEmU0WHEXHpTREQ0r7CKcZJxk55c4C9zKTXIiIk2iTfwJE0Bu4Fv236LpDXAp4ANwEPAFbYf7/e8CyWqiIihKaxqPIyMdzWwr2v/GmCX7Y3Armo/IqIotmpt4zJQMpZ0HvDTwIe7ijcD26vn24HLljrPLOLJuVXP2iIiRsXA3JxqbeMyaNb7c+A3gbmusnNsHwCoHs9e6I2StkraLWn349+ZW+iQiIjRMGDV28Zk2clY0luAg7b3LOf9trfZnrY9feaa1IQjYrzsetu4DHID7yLgUklvBk4GTpf0MeBRSetsH5C0Djg4jEAjIoZqUm7g2b7W9nm2NwBXAv9i++3AzcCW6rAtwE0DRxkRMVT1bt6tmBt4PVwHvEHSfcAbqv2IiLK45rYESSdL+oqkf5e0V9LvVuVrJO2UdF/1eOZi5xnKoA/btwO3V88fAzYN47wRESNh8PB6ShwBftL2dyWtBr4k6fPAz9Lp5nudpGvodPN9X6+T5M5ZRLSUam6Lc8d3q93V1Wb67OabZBwR7VS/mWLtfDfcatt6/KkkTUm6m06HhZ2276BmN995mZsiItqpfm+KQ7anFz2VPQtcIOkM4EZJL+s3nNSMI2Io9l+xnv1XrG86jHpGNOjD9hN07p9dQtXNF6BON98k42iV0zf9d9MhRCGGNehD0llVjRhJzwNeD9xLn91800wREe00vN4U64Dt1QyWq4Adtv9J0r8BOyRdBewHLl/sJEnGEdFKGtIIPNtfAy5coLyvbr5JxhHRPjUHdIxTknFEtNB4Z2SrI8m4MB9+yccA+OV7395wJBGD8zNHmg6ht9SMIyIKUNg06knGESvUqqNNR7CwomvD8+b7GRckyTjiOKUmuRiuYfWmGJYk44hopyTjaKOnj65uOoT/l5pvlCjJeAKUlOgiVoo0U0RENM0Mczj0UCQZL+J/505q7LNT240YsdSMn2sWNZr4IqJ90kwREVGCJOOIiAIkGUdENEtOM0VERBkK600x0LJLks6Q9GlJ90raJ+k1ktZI2inpvurxzGEFGxExLPO146W2cRl0Dby/AG6x/RLgFcA+4Bpgl+2NwK5qPyKiLK65jcmyk7Gk04HXAh8BsH20Whl1M7C9Omw7cNmgQUZEDFXNWvFKqRl/P/A/wN9J+qqkD0s6BTjH9gGA6vHshd4saauk3ZJ2P/HY7ABhREQsw6TUjOnc/Hsl8CHbFwLfo48mCdvbbE/bnj7jhVMDhBER0T/N1dvGZZBk/DDwsO07qv1P00nOj0paB1A9HhwsxIiIybfsZGz7v4FvSfqhqmgT8A3gZmBLVbYFuGmgCCMiRqGwZopB+xn/KnCDpBOBB4BfpJPgd0i6CtgPXD7gZ0REDNekDfqwfTcwvcBLmwY5b0TEyE1SMo6IWLGSjCOi1Y40v3q0GG9PiTqSjCNaZtWxEX9AAcl2SZPWZhwRsWIlGUe028hrplFPknFERPPSTBHRoKMzJ7A6NdOA1Iyj3Y7O5Fdu0h14248AsO7jexuOZBFOb4qIiDKkZhxNSs00oiNtxi11eO7kvo5P0hydY6//XwBW//MLGo4kGpVkHBHRsDHPyFZHq5Jxv7XTiJhMorxmikEXJI2IWJGGtQaepPWSviBpn6S9kq6uytdI2inpvurxzMXOU0TNeM6rUms9zgdfvoPf+NoVTYcRMbmGVzOeAd5r+y5JpwF7JO0EfgHYZfs6SdfQWZbufb1OkppxRLTTkFb6sH3A9l3V8yeBfcC5wGZge3XYduCyxc5TRM04ImKs+pu1ba2k3V3722xvW+hASRuAC4E7gHNsH4BOwpZ09mIfkmQcEe1UPxkfsr3QikbPIulU4DPAe2wfltRXOGmmiIhW0ly9rda5pNV0EvENtj9bFT8qaV31+jrg4GLnSDKOiFYaYm8KAR8B9tn+YNdLNwNbqudbgJsWO0+aKSKifYY76OMi4B3A1yXdXZW9H7gO2CHpKmA/cPliJ0kyjoh2GlIytv0lOuNIFrKp7nmSjCOidSZuBJ6kX69GnNwj6ROSTu531ElERBM051rbuCw7GUs6F/g1YNr2y4Ap4Eo6o0x22d4I7Kr2IyLKUXfAxxhrz4M2U5wAPE/SMeD5wCPAtcDF1evbgdtZZAhgRMTc08+M/TNLa6ZYdjK2/W1Jf0LnLuHTwG22b5NUa9SJpK3AVoCzX5Sm64jSTB0dLFs1kWD7UlgyHqSZ4kw6Y6/PB14EnCLp7XXfb3ub7Wnb0y9Yk2QcEeM1rH7GwzJIFnw98KDt/wGQ9Fngx6lGnVS14iVHnUREfYPWVqNLYZdykN4U+4FXS3p+NQJlE53ZivoadRIRMXYe7nDoYRikzfgOSZ8G7qIzn+dXgW3AqfQx6iRiEqTGurKU2M94oMZa2x8APnBc8RH6GHUSMSpHj04t+vrJSaDt5rK+/9w5i4hWmqiacUS/lqqtRoxFVoeOUiVJxrAdescrWfsPdzUdRk/jvDlXR5JxRLRSknHUltpqxIiY3MCLiChBbuBNiCfmnt90CDGgw6//HgCn//MpDUcSjUgyHp0kyIioY+IGfURErEge78TxdRSRjGdYlVptRIxXWbm4jGQcC/v9V3bmWPrtuzY3HEnE5EkzRURE0wykmSIiogBl5eIk44hopzRTREQUIL0pIiKallnbIiKa1xn0UVY2TjKOiKL4yJHxfFBmbYuISTB1dOljxpZYlyE144iIpqXNOCLGqU7ttZ0yN0VERBnSTBER81JzbYjLW3Zp1VIHSLpe0kFJ93SVrZG0U9J91eOZXa9dK+l+Sd+U9FOjCjxinKaOjmaLBtn1tjFZMhkDHwUuOa7sGmCX7Y3ArmofSS8FrgR+pHrPX0nKQm4RUR7X3MZkyWYK21+UtOG44s3AxdXz7cDtwPuq8k/aPgI8KOl+4FXAvw0n3IjFzc70/7c/NdR20lxZ7RTLbTM+x/YBANsHJJ1dlZ8LfLnruIersueQtBXYCrD2RScuM4xYiZaTMGNleuLnXwPAGX9fWH3MFDfoo04zRT+0QNmCFX3b22xP254+bU3uI0bE+Agj19vGZblZ8FFJ66pa8TrgYFX+MLC+67jzgEcGCTCakxpsTLQhJVpJ1wNvAQ7afllVtgb4FLABeAi4wvbji51nuTXjm4Et1fMtwE1d5VdKOknS+cBG4CvL/IyIiNEZXm+Kj1Kzk8NilqwZS/oEnZt1ayU9DHwAuA7YIekqYD9weedn815JO4BvADPAu2zP1vlpYvlSgx3MoTc+w9rbTm46jBinIbYZ99nJoac6vSne2uOlTT2O/wPgD5Y6b9s8Ofu8Zb83yTZi+ProTbFW0u6u/W22ty3xnl6dHHrKnbOIaKG+BnQcsj09ymggyfg5BqnBRsQKYUY9uq5XJ4eeVmwyblPSfP+Pfp4/3POmpsOImCyj7Wc838nhOp7dyaGnFZuMIyIGMaw+xP10clhMEcn4wXueOvTWjXu+BxxqOpZFrKXR+L601AENx7ekouN7qOz4So4Nxh/f9w3lLENKxv12cuiliGRs+yxJu8fRSL5ciW8wiW/5So4Nyo9vQTbMljUeuohkHBExdplcPiKiAEnGPS3VibppiW8wiW/5So4Nyo/vuQwUtgaeXNhfh4iIUXvBSef4x1/0c7WOveWhP9uTQR8REaNgcgMvIqIIhbUKDHty+WWRdEm1gOn9kpacam7EsayX9AVJ+yTtlXR1Vf47kr4t6e5qe3ODMT4k6etVHLursp6LxI45th/qukZ3Szos6T1NXr/SF9XtEd8fS7pX0tck3SjpjKp8g6Snu67jXzcUX8/vc8UsSrwCFyQdqWrB0r8E3gS8FHhrtbBpU2aA99r+YeDVwLu64vkz2xdU2+eaCxGA11VxzLdl9T1/6ijY/ub8NQJ+FHgKuLF6uanr91HKXlR3ofh2Ai+z/XLgP4Bru177z67r+M4Rx9YrPljg+1w5ixLXTMRtSsZ0Fiy93/YDto8Cn6QzF2gjbB+wfVf1/ElgHz3W8SvMZjrzplI9XtZgLPM20Ukc/9VkELa/CHznuOJe1+v/F9W1/SAwv6juWOOzfZvtmWr3y3RWzWlEj+vXy9iv37IYmJurt41JCcn4XOBbXfs9FzEdt2rC6AuBO6qid1f/Nl7fVDNAxcBtkvZUC7vCcfOnAkvOnzoGVwKf6Nov5fpB7+tV4u/jLwGf79o/X9JXJf2rpJ9oKigW/j5LvH4LS834OWovYjpOkk4FPgO8x/Zh4EPADwAXAAeAP20wvItsv5JO0867JL22wVgWJOlE4FLgH6uikq7fYor6fZT0W3Sazm6oig4AL7Z9IfAbwMclnd5AaL2+z6KuX2/VcOg625iUkIyLW8RU0mo6ifgG258FsP2o7Vnbc8Df0uC/XrYfqR4P0mmPfRXV/KkAdedPHbE3AXfZfhTKun6VXtermN9HSVvoLHT5c64GBFT//j9WPd8D/Cfwg+OObZHvs5jrtyiDPVdrG5cSkvGdwEZJ51e1qSvpzAXaCEkCPgLss/3BrvJ1XYf9DHDP8e8dB0mnSDpt/jnwxiqWXovENuWtdDVRlHL9uhS9qK6kS+ismXap7ae6ys+avyEm6fur+B5oIL5e32cR16+WOdfbxqTxfsa2ZyS9G7gVmAKut723wZAuAt4BfF3S3VXZ++n08riAzr9cDwG/0kx4nAPc2PmbwQnAx23fIulO+pw/dVQkPR94A8++Rn/U1PVT4Yvq9ojvWuAkYGf1XX+56jnxWuD3JM0As8A7bde9uTbM+C5e6PtcUYsSF9bPOMOhI6J1XjC11q859dJax956+O8yHDoiYmQKq4gmGUdECxnPltV6kmQcEe1T4BSaScYR0U5j7LZWR5JxRLSOAadmHBHRMDs144iIEpR2Ay/9jCOidSTdAqytefgh2wtNITpUScYREQUoYW6KiIjWSzKOiChAknFERAGSjCMiCpBkHBFRgP8Dqfxrp2VxbfIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "lus = np.zeros([nrow, ncol])\n",
    "gridX = np.linspace(left, right, ncol) #  ALPINE-3D grid \n",
    "gridY = np.linspace(top, bottom, nrow)\n",
    "\n",
    "for j in range(0, nrow): # loop over Y\n",
    "    for k in range(0, ncol): # loop over X\n",
    "        # For each A3D grid cell, find the index of the closest MERRA-2 grid cell\n",
    "        A3D_X = gridX[k]\n",
    "        A3D_Y = gridY[j]\n",
    "        distance =  np.sqrt(np.power(A3D_X - gridX_filter, 2) + np.power(A3D_Y - gridY_filter, 2))\n",
    "        lus[j, k] = np.argmin(distance) + 1\n",
    "        \n",
    "\n",
    "plt.imshow(lus)\n",
    "plt.colorbar()\n",
    "\n",
    "len(np.unique(lus))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "'''\n",
    "Start HACK:\n",
    "Only use previously created smet files for bumped domain. Related to increasing the size of the domain to see how that effects simulations. \n",
    "'''\n",
    "\n",
    "ncol = 198\n",
    "nrow = 137\n",
    "\n",
    "# How far to extend the MERRA-2 domain beyond the Alpine-3D domain. \n",
    "bump = 1000 * 50 # m\n",
    "\n",
    "# Define upper left and lower right domain corners in epsg 3031\n",
    "left = -1557000 # done\n",
    "bottom = -124000 # done\n",
    "\n",
    "lus = np.pad(lus, 15, mode='edge')\n",
    "\n",
    "'''\n",
    "END HACK\n",
    "'''\n",
    "\n",
    "lus_int = np.array(lus, dtype=int)\n",
    "\n",
    "# Define path to write file\n",
    "fname = \"../../input/surface-grids/dem.lus\"\n",
    "\n",
    "# Open file\n",
    "f = open(fname,'w')\n",
    "f.write(\"ncols        \" + str(ncol) + \"\\n\")\n",
    "f.write(\"nrows        \" + str(nrow) + \"\\n\")\n",
    "f.write(\"xllcorner        \" + str(left) + \"\\n\")\n",
    "f.write(\"yllcorner        \" + str(bottom) + \"\\n\")\n",
    "f.write(\"cellsize     1000.000000000000\\n\")\n",
    "f.write(\"NODATA_value  -9999\\n\")\n",
    "\n",
    "# Write individual data lines\n",
    "for j in range(0, lus.shape[0]):\n",
    "    line = np.array2string(lus_int[j,:], max_line_width=99999)\n",
    "    line = line[1:-1]\n",
    "    f.write(line + \"\\n\")\n",
    "\n",
    "# Close file\n",
    "f.close()\n",
    "\n",
    "# !cat ../../input/surface-grids/dem.lus"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Write TSG grid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Source and target EPSG\n",
    "src = osr.SpatialReference()\n",
    "tgt = osr.SpatialReference()\n",
    "src.ImportFromEPSG(3031) # WGS-84\n",
    "tgt.ImportFromEPSG(4326) # South Polar Stereo\n",
    "\n",
    "# Define transformation\n",
    "transform = osr.CoordinateTransformation(src, tgt)\n",
    "\n",
    "# TS_mean file\n",
    "TS_mean = xr.open_dataset(\"/pl/active/nasa_smb/MERRA2/yearly_files/TS_mean_1980_2017.nc\")\n",
    "TS_mean = TS_mean['TS'][0,:,:]\n",
    "\n",
    "# Define path to write file\n",
    "fname = \"../../input/surface-grids/TSG.asc\"\n",
    "\n",
    "# Open file\n",
    "f = open(fname,'w')\n",
    "f.write(\"ncols        \" + str(ncol) + \"\\n\")\n",
    "f.write(\"nrows        \" + str(nrow) + \"\\n\")\n",
    "f.write(\"xllcorner        \" + str(left) + \"\\n\")\n",
    "f.write(\"yllcorner        \" + str(bottom) + \"\\n\")\n",
    "f.write(\"cellsize     1000.000000000000\\n\")\n",
    "f.write(\"NODATA_value  -9999\\n\")\n",
    "\n",
    "# Loop over eachcell and find the closest TS_mean grid cell\n",
    "for j in range(0, nrow):\n",
    "    for k in range(0, ncol):\n",
    "        A3D_X = gridX[k]\n",
    "        A3D_Y = gridY[j]\n",
    "        coords = transform.TransformPoint(A3D_X, A3D_Y)\n",
    "        A3D_lat, A3D_lon = coords[0:2]\n",
    "        # This next line is slow, but could be sped up by setting A3D_lat and A3D_lon to contain all grid cells\n",
    "        # instead of one at a time. \n",
    "        TSG_ind = float(TS_mean.sel(lat=A3D_lat, lon=A3D_lon, method='nearest').values)\n",
    "        \n",
    "        f.write(str(TSG_ind) + \" \") # Write the closest TS_mean and a space\n",
    "    f.write(\"\\n\")\n",
    "\n",
    "# Close file\n",
    "f.close()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Write to_exec.lst file for each unique MERRA-2 grid cell "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define path to write file\n",
    "fname = \"../../spinup/to_exec.lst\"\n",
    "\n",
    "# Open file\n",
    "f = open(fname,'w')\n",
    "\n",
    "for j in range(0, len(np.unique(lus))):\n",
    "    f.write(\"bash run.sh site_\" + str(int(np.unique(lus)[j])) + \"\\n\")\n",
    "    \n",
    "f.close()\n",
    "\n",
    "!cat ../../spinup/to_exec.lst"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "alpine3d",
   "language": "python",
   "name": "alpine3d"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
